La invención de la escritura nos permitió representar datos, información o conocimiento fuera de nuestras mentes. Este hecho permitió un gran avance del conocimiento humano, ya que el boca a boca dejó de ser el único medio de transmitir la información.
La escritura es una de las formas más antiguas de representación del conocimiento.
Existen dos métodos de escritura:
Métodos pictóricos: basados en imágenes o símbolos que representan conceptos o ideas, como los jeroglíficos.
Métodos fonéticos: basados en símbolos que representan sonidos del lenguaje hablado.
El objetivo de una buena representación del conocimiento es conseguir plasmarlo formalmente y que sea interpretable por una máquina, de forma que sea posible recuperarlo y hacer operaciones con el mismo (inferir nuevo conocimiento).
Existen diferentes formas de representación del conocimiento, pero para decidir que método de representación utilizar tendremos en cuenta:
Comprensión fácil.
Adaptable a nueva información no conocida anteriormente.
Mostrar y operar con la información.
Un sistema inteligente debe ser capaz de:
Tener acceso a información.
Interpretar de manera autónoma la información.
Inferir nuevo conocimiento a partir de esa información.
|
⇩ Sistema de producción de reglas ⇩ Inferir nuevo conocimiento |
|---|
| Sustituto de la realidad: La representación de algo no es más que un sustituto de ese algo, una construcción mental que hacemos para facilitar su razonamiento. | |
| Conjunto de compromisos ontológicos: Cuando modelamos algo, estamos resaltando unas propiedades en prejuicio de otras (sesgar), priorizando conceptos o ideas. | |
| Teoría fragmentaria del razonamiento inteligente: Proceso de análisis, similar al de ingeniería, en el que tenemos fragmentamos el conocimiento en subconjuntos más pequeños para tratar los datos de entrada, procesarlos y obtener datos de salida. | |
| Herramienta para una computación eficiente: Una buena representación debe permitir la realización de operaciones. | |
| Medio de expresión humana: El fin ultimo de la representación del conocimiento es que el ser humano sea capaz de capturar el conocimiento y transmitirlo. | |
Cobertura: los límites de la representación del conocimiento los marca la propia información.
Comprensible por humanos: aunque el objetivo final es la interpretación por una máquina, el ser humano debe poder leer/escribir/interpretar la información en el sistema de representación
Consistencia: las reglas de la lógica se deben cumplir en cualquier sistema de representación. No puede haber afirmaciones contradictorias.
Eficiencia: una buena representación del conocimiento debe ser capaz de minimizar el espacio de almacenamiento, el tiempo de razonamiento y el gasto de recursos computacionales.
Facilidad de modificación y actualización: una buena representación del conocimiento debe ser dinámica, permitiendo cambios en los datos, en la información y en el conocimiento obtenido.
Estos cambios los pueden producir humanos o máquinas.
Soporte de la actividad inteligente que usa la base de conocimiento: una máquina debe poder extraer la información y representarla.
LPPO ➔ principio de resolución
Arboles de decisión.
Redes bayesianas.
Lógica borrosa (Fuzzy logic).
Reglas PROLOG.
Ontologías.
En filosofía, la ontología es el estudio de lo que existe.
En inteligencia artificial, una ontología es una especificación de los significados y símbolos en un sistema de información, es decir, una representación formal de conocimiento como un conjunto de conceptos y las relaciones entre dichos conceptos.
El objetivo de la ontología es facilitar la comunicación y el intercambio de información entre sistemas de información heterogéneos.
Las ontologías tienen una serie de reglas y terminologías que nos permiten relacionar diferentes ontologías.
Podemos diferenciar entre:
Entidades: son conceptos y pueden ser abstractas o concretas.
Universales: son propiedades de las entidades.
Puede haber relaciones entre:
Entidades - Universales: la entidad «planta» puede contener el universal «verde».
Universales entre si: «azul» y «amarillo» componen el «verde».
En computación, una ontología es un método de representación del conocimiento de un dominio concreto, con una estructura procesable por un razonador semántico.
Debe representar lo que sabemos de un dominio:
Conceptos.
Propiedades de los conceptos.
Relaciones jerárquicas entre conceptos.
Restricciones sobre las propiedades y relaciones.
El conocimiento puede ser la suma de varios dominios heterogéneos, por lo tanto, el conocimiento será la capacidad de operar e interactuar entre las diferentes ontologías de diferentes dominios.
Una ontología cumple dos roles principales:
Recoge un vocabulario propio de un dominio de conocimiento: La ontología no la hacen las palabras, sino los conceptos, puesto que documenta la relación entre los símbolos y los significados.
Ejemplo: Si cambiamos el idioma de una ontología, las palabras cambiarán, pero no los conceptos.
Es una teoría de su propio contenido: El conocimiento que el diseñador tiene sobre el dominio es crucial para la toma de decisiones en el desarrollo de una ontología. A partir de este conocimiento del dominio, se pueden crear axiomas que restringen el significado de alguno de los símbolos para reflejar mejor cada concepto.
Ejemplo: Se pude limitar el número o el tipo de valores de alguna propiedad.
Por lo tanto, una ontología implícitamente crea un modelo teórico del dominio.
Una ontología de dominio representa conceptos que simbolizan un dominio concreto con el objetivo de transmitir e intercambiar conocimiento.
Buenas prácticas que facilitan la integración con otras ontologías:
Utilizar una ontología existente cuando sea posible y en caso de no ajustarse a las necesidades del dominio, adaptarla y ampliarla.
Utilizar los mismos términos para las mismas cosas.
Ajustarse a las ontologías de nivel superior.
Utilizar las convenciones de nomenclatura.
En caso de querer integrar dos ontologías creadas de manera totalmente independiente, se realizará un matching de ontologías, que consiste básicamente en un mapeado, encontrar un nexo común entre las distintas ontologías para construir enlaces entre estas.
Las ontologías de nivel superior modelan los niveles altos de una realidad ofreciendo conceptos genéricos como «objeto», «propiedad» y «relación» comunes a todos los dominios.
Las ontologías de dominio se adaptan a las ontologías de nivel superior.
El propósito de las ontologías superiores es proporcionar un punto de partida común para la formulación de definiciones y optimizar la interoperabilidad de ontologías de dominio cuando comparten una ontología de nivel superior.
La Basic Formal Ontology es una ontología de nivel superior que promueve la interoperabilidad de las ontologías de dominio.
La convención cuando se representan esquemáticamente ontologías de nivel superior es ubicar los conceptos generales en la parte superior y los específicos debajo de ellos, de ahí su nombre.
Cada bajada de nivel indica que el concepto inferior es una especialización del superior.
En BFO, el concepto principal es la «entidad».
Las entidades pueden ser:
Continuantes: mantienen su identidad en el tiempo.
Ejemplo: una persona, una sonrisa, un email, etc.
Ocurrentes: son temporales, tienen un inicio y un fin.
Ejemplo: La vida, sonreír, el envío de un email, etc.
Las continuantes participan en los ocurrentes.
No existe una metodología única para la construcción de ontologías. El problema del diseño se deberá afrontar teniendo en cuenta las características particulares de la situación:
¿Se trata de una ontología de dominio o de nivel superior?
¿Quién será el usuario de la ontología?
¿Cuál es el conocimiento existente en el dominio a modelar?
El sentido común es la mejor herramienta en el diseño de ontologías.
Dos reglas de oro que no deben perderse de vista son:
El diseño y desarrollo de una ontología es un proceso iterativo.
La ontología debe utilizar el lenguaje propio del dominio a modelar, no es lo mismo realizar una ontología sobre telefonía móvil dirigida a usuarios (Smartphone, apps, pantalla táctil, batería...) que dirigida a diseñadores (3G, 4G, GPRS, antena, celda, potencia...), pues el lenguaje será diferente.
Individuos: Objetos que representan conceptos.
Ejemplo: Juan
Clases: conjunto de objetos que comparten las mismas características y que están englobados o agrupados bajo una definición formal concreta.
Ejemplo: Persona
Existen tres formas de jerarquizar las clases:
Top-Down: de lo general a lo particular.
Bottom-Up: de lo especifico a lo general.
Híbrido: primero definir conceptos relevantes y después se generalizan o especializan según se precise.
Atributos: características o propiedades que los objetos (instancias) y las clases pueden tener.
Ejemplo: La clase Persona tiene un atributo de tipo nombre.
Relaciones: las formas en las que tanto instancias como clases pueden relacionarse entre ellas y se consideran como verdad.
Ejemplo: tienePareja es una relación que se establece entre una persona y otra.
Restricciones: descripciones descritas formalmente que tienen que ser cumplidas para que una determinada afirmación pueda ser aceptada.
Ejemplo: Restricción de cardinalidad: define umbrales de valores que debe cumplir una clase o instancia determinada.
A la relación tienePadre le puedo incluir una restricción de cardinalidad de 2.
Axiomas: conocimiento previo que se supone que tiene que ser cierto durante el proceso de inferencia.
Reglas: sentencias de tipo if-then (antecedente-consecuente) que describen las inferencias lógicas que se pueden derivar a partir de una afirmación concreta.
Instancias: objetos de una clase.
Ejemplo: Juan es un objeto de la clase Persona.
Antes de comenzar con el diseño propiamente dicho, hay que realizar una fase de reflexión básica que permita tener una idea más clara de qué tipo de ontología se quiere diseñar.
¿Cuál es el dominio de la ontología?
¿Para qué se usará?
Antes de comenzar con el diseño de la ontología, hay que buscar otros modelos públicos o de pago y analizar si pueden utilizarse para resolver el problema.
Consiste en realizar un proceso de brainstorming en el que se anoten todos aquellos términos que pueden estar relacionados con el dominio a modelar.
El objetivo de este paso es generar un catálogo de términos sobre el dominio.
La ontología tendrá tres componentes principales:
Los conceptos.
Las propiedades de los conceptos.
Las restricciones de dichas propiedades.
Se establecerán qué conceptos se utilizarán y las relaciones entre ellos.
Top-down: primero conceptos generales y después subclases.
Bottom-up: primero casos particulares para llegar a una generalización.
En esta fase sólo se estudian relaciones de generalización.
Cada concepto tendrá una serie de propiedades (material, tamaño, precio, etc.) que deberán ser asignadas de forma consistente.
Habrá que establecer las relaciones entre conceptos (
Las propiedades están sujetas a restricciones que dependen del dominio de la ontología.
Ejemplos:
El tamaño de una pantalla de un móvil es un valor numérico que se mide en pulgadas.
La pantalla sólo puede ser de tipo: TFT u OLED.
Las relaciones también deberán tener determinadas restricciones.
Ejemplos:
Un móvil sólo tiene una pantalla.
Un móvil puede tener uno o varios botones.
Generar las instancias concretas y asignar las propiedades concretas.
Ejemplos: Nexus 4 es una instancia de Smartphone cuyo valor de la propiedad “tamaño” es “5 pulgadas”.
Un ejemplo sencillo que podemos representar utilizando ontologías son las figuras geométricas.
Conceptos: formas, cuadrado, rombo, triángulo, círculo.
Formas con 4 ángulos:
Cuadrado.
Rombo.
Formas con 3 ángulos:
Triángulo.
Formas sin ángulos:
Círculo.

Todas las relaciones de esta ontología son es superclase de. «Formas» es superclase de «formas de 4 ángulos», «formas de 3 ángulos» y «formas sin ángulos».
